The Sonified Omniscient Debugger: A Program Execution and Debugging Environment for Non-Sighted Programmers Built from the Ground up
نویسندگان
چکیده
Comprehending and debugging computer programs are inherently difficult tasks for sighted programmers. These tasks are even more difficult for non-sighted programmers, who must rely exclusively on audio-based representations of programs. The current state-of-the art approach to building program execution and debugging environments for non-sighted programmers is to retrofit existing visual environments with screen readers. Because of intrinsic differences in the ways humans process audio (serially) and visual information (in parallel), we argue that effective programming technologies for the non-sighted must instead be built from the ground up. To illustrate what such an environment might look like, we present the Sonified Omnicient Debugger (SOD), whose auditory cues were derived from empirical studies in which sighted proxies performed audio-based program comprehension tasks. In an experimental study involving sighted proxies, we compared SOD to (a) an identical environment with auditory cues from a state-of-the-art screen reader, and (b) an identical visual environment. Our results show that, for program comprehension and debugging tasks, SOD is significantly more effective than the environment with auditory cues from a state-of-the-art screen reader.
منابع مشابه
MODELS: G: Exploring Omniscient Debugging for Model Transformations
This paper discusses a technique for supporting omniscient debugging for model transformations (MTs). MTs are used to define core operations on models. Like programs developed using general-purpose languages (GPLs), MTs are subject to human error and may possess defects (or bugs). Existing Model-Driven Engineering (MDE) tools provide stepwise execution to aid developers in locating and removing...
متن کاملEnhancing Trace Debugging with Algorithmic and Omniscient Debugging
During many years, Print Debugging has been the most used method for debugging. Nowadays, however, industrial languages come with a trace debugger that allows programmers to trace computations step by step. Almost all modern programming environments include debugging utilities that allows us to place breakpoints and to inspect the state of a computation in any given point. Nevertheless, this de...
متن کاملThe Intelligent C Language Debugger
Most current programming debuggers do not have any built-in intelligence to help programmers perform debugging. When using these non-intelligent debuggers, programmers have to debug their programs statement by statement in order to track down the bugs. There are several disadvantages with the current non-intelligent debuggers. The first disadvantage is that the debugger does not know the variab...
متن کاملDebugging mixed-environment programs with Blink
Programmers build large-scale systems with multiple languages to leverage legacy code and languages best suited to their problems. For instance, the same program may use Java for ease of programming and C to interface with the operating system. These programs pose significant debugging challenges, because programmers need to understand and control code across languages, which often execute in d...
متن کاملOn-the-fly query-based debugging with examples
Program errors are hard to find because of the cause-effect gap between the time when an error occurs and the time when the error becomes apparent to the programmer. Although debugging techniques such as conditional and data breakpoints help to find error causes in simple cases, they fail to effectively bridge the cause-effect gap in many situations. Query-based debuggers offer programmers an e...
متن کاملذخیره در منابع من
با ذخیره ی این منبع در منابع من، دسترسی به آن را برای استفاده های بعدی آسان تر کنید
عنوان ژورنال:
دوره شماره
صفحات -
تاریخ انتشار 2008